package com.cy.dda.service.goodsdiligencing;

import com.cy.dda.model.Result;
import com.cy.dda.model.ao.goodsdiligencing.GoodsDiligencingReportAuditAO;
import com.cy.dda.model.ao.goodsdiligencing.MaintainReportSaveAO;
import com.cy.dda.model.vo.goodsdiligencing.MaintainReportAdminDetailVO;
import com.cy.dda.model.vo.goodsdiligencing.MaintainReportDetailVO;

import java.util.Map;

/**
 * @Description 维护报告 接口
 * @Author tanyilin
 * @Date 2019/8/28 17:34
 */
public interface MaintainReportService {

    /**
     * 维护报告详情回显
     * @param goodsDiligencingId
     * @return com.cy.dda.model.vo.goodsdiligencing.MaintainReportDetailVO
     */
    MaintainReportDetailVO getMaintainReportDetail(Long goodsDiligencingId);

    /**
     * 保存维护报告
     * @param saveAO
     * @param userId
     * @return com.cy.dda.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> saveMaintainReport(MaintainReportSaveAO saveAO, Long userId);

    /**
     * 审核 维护报告
     * @param auditAO
     * @param managerId
     * @return void
     */
    void doAuditMaintainReport(GoodsDiligencingReportAuditAO auditAO, Long managerId);

    /**
     * 后台-维护报告详情
     * @param goodsDiligencingId
     * @return com.cy.dda.model.vo.goodsdiligencing.MaintainReportAdminDetailVO
     */
    MaintainReportAdminDetailVO getMaintainReportAdminDetail(Long goodsDiligencingId);
}
